#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-

=begin 
@author = sirius
@time = 2017.11.11
=end

# yield 语句
def test
   puts "在 test 方法内"
   yield
   puts "你又回到了 test 方法内"
   yield
end
test {puts "你在块内"}

# 传递参数
def par
   yield 5
   puts "在 test 方法内"
   yield 100
end
par {|i| puts "你在块 #{i} 内"}

# 块和方法
def sim
  yield
end
sim{ puts "Hello world"}

def blo(&block)
   block.call
end
blo { puts "Hello World!"}

# BEGIN 和 END 块
BEGIN { 
  # BEGIN 代码块
  puts "BEGIN 代码块"
} 
 
END { 
  # END 代码块
  puts "END 代码块"
}
  # MAIN 代码块
puts "MAIN 代码块"